Hand gesture recognition is an emerging field catching much attention recently due to the popularity of interactive computer games as well as mobile devices. Conventional hand gesture recognition is often vision-based and relies on a matching process where the captured hand movement is compared with the recognizable hand postures stored in the system's visual memory. For example, Sanches-Nielsen et al. published an article titled Hand Gesture Recognition for Human-Machine Interaction in Journal of WSCG, Vol. 12, No. 1-3, ISSN 1213-6972 disclosing a process of the recognition framework including initialization, acquisition, segmentation, pattern recognition and executing action. The acquisition of the hand gesture is through the webcam capturing frames of images. Similarly, U.S. Patent Application Publication No. 2010/0050134 disclosed enhanced detection of circular engagement gesture by using a camera to capture a user's image and comparing motion history data. U.S. Patent Application Publication No. 2010/0111358 disclosed a method, apparatus and computer program product for providing adaptive gesture analysis, wherein a 3D camera is used to capture the intensity and depth of the image for subsequent gesture analysis. Another technique to detect hand gesture for mobile device is through the use of an inertia sensor, as disclosed in U.S. Patent Application Publication No 2009/0265627, to control the user interface of a mobile device. The inertia sensor can detect the user's hand gestures by detecting the movement of the mobile device.
Even as the optical technology has developed rapidly in recent years, the technology is mostly often applied to applications, such as, communication systems, pointing devices or motion detection in surveillance systems. In addition, a conventional optical-based motion detection system may employ a plurality of optical-based light sensors in a surveillance system for a wide coverage and yet save the bandwidth to detect moving objects. In the above case, the time division multiple access (TDMA) method is often employed to allow a plurality of emitters to access a shared channel through time division.
Alternatively, code division multiple access (CDMA), a widely used channel access technology for radio communications, also allows several transmitters to send information simultaneously over a single communication channel; hence, a plurality of users can share a band of frequencies. CMDA employs spread-spectrum technology and a special coding scheme where each emitter is assigned a code to allow multiple users to be multiplexed over the same channel. In other words, as opposed to TDMA that uses time division to share a channel among a plurality of emitters, CDMA assigns a different code for each emitter to allow sharing of a channel and improve channel efficiency. In asynchronous CDMA system, unique pseudo random or pseudo noise sequences are used. A pseudo noise code is a binary sequence that appears random but can be reproduced in a deterministic manner by intended receivers of the corresponding transmission. The pseudo noise codes are used to encode and decode a user's signal in asynchronous CDMA. As asynchronous CDMA shows efficient utilization of fixed frequency spectrum and allows flexible allocation of resources compared to other techniques, asynchronous CDMA is employed in various applications.
The aforementioned pseudo noise sequences are statistically unrelated and the sum of a large number of pseudo noise sequences results in a multiple access interface (MAI) that can be approximated by a Gaussian noise process. Gold codes are a good example of pseudo noise sequences for this purpose, as there is low correlation between the codes. Gold codes, named after Robert Gold, have a bounded small cross-correlation within a set, which is useful when multiple devices are broadcasting in the same range. For example, a set of Gold codes consists of 2n−1 sequences, with each one having a period of 2n−1. Within a set of Gold codes, about half of the codes are balanced, that is, the number of ones and zeros differs only by one. However, other coding schemes that possess similar characteristics can also be utilized to achieve the same object.